﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Pitis_Cristian_E214A
{
    class Program
    {
        static void Main(string[] args)
        {

            clientPool _clientPool = new clientPool();

            string comand = "0";
            while ( true )
            {
                Console.WriteLine("1.Introduceti comenzi\n2.Exit");
                comand = Console.ReadLine();
                if(comand=="2")
                    break;
                Console.WriteLine("Introduceti numele clientului:");
                string nume_client = Console.ReadLine();

                Console.WriteLine("Introduceti varsta clientului:");
                int varsta = Convert.ToInt32(Console.ReadLine());

                client _client = _clientPool.GetClient(nume_client, varsta);

                string comanda="0";
                while (comanda != "3")
                {
                    Console.WriteLine("\t1.Adaugati masina\n\t2.Afisati masinile\n\t3.Inapoi");

                    comanda = Console.ReadLine();

                    if (comanda == "1")
                    {
                        abstractFactory A;

                        masina m = null;
                        string tip, nume, culoare, transmisie, dotari, motorizare;
                        int dimensiuni;

                        Console.WriteLine("Introduceti tipul:");
                        tip = Console.ReadLine();

                        Console.WriteLine("Introduceti numele:");
                        nume = Console.ReadLine();
                        Console.WriteLine("Introduceti culoarea:");
                        culoare = Console.ReadLine();
                        Console.WriteLine("Introduceti transmisie:");
                        transmisie = Console.ReadLine();
                        Console.WriteLine("Introduceti dotari:");
                        dotari = Console.ReadLine();
                        Console.WriteLine("Introduceti motorizare:");
                        motorizare = Console.ReadLine();
                        Console.WriteLine("Introduceti dimensiuni:");
                        dimensiuni = Convert.ToInt32(Console.ReadLine());


                        if (tip == "sedan")
                        {
                            A = new sedanFactory();
                            m = (sedan)A.creaza_produs();
                        }
                        if (tip == "coupe")
                        {
                            A = new coupeFactory();
                            m = (coupe)A.creaza_produs();
                        }
                        if (tip == "mini")
                        {
                            A = new miniFactory();
                            m = (mini)A.creaza_produs();
                        }


                        m.set_nume(nume);
                        m.set_culoare(culoare);
                        m.set_transmisie(transmisie);
                        m.set_dotari(dotari);
                        m.set_dimensiuni(dimensiuni);
                        m.set_motorizare(motorizare);

                        _client.adaugare_masina(m);
                    }
                    else
                        if (comanda == "2")
                        {
                            _client.afisare_masini();
                        }




                }
            }




        }
        }
    }

